#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> a;
int func1(int x, int y, int t) {
    int l = x, r = y;
    int index = 0;
    while(l <= r) {
        int mid = l + (r - l) / 2;
        if(a[mid] <= t) {
            index = mid;
            l = mid + 1;
        }else {
            r = mid - 1;
        }
    }
    return a[index];
}
int func2(int x, int y, int t) {
    int l = x, r = y;
    int index = 0;
    while(l <= r) {
        int mid = l + (r - l) / 2;
        if(a[mid] >= t) {
            index = mid;
            r = mid - 1;
        }else {
            l = mid + 1;
        }
    }
    return a[index];
}
int main() {
    int n;
    cin >> n;
    int ans = 0;
    for(int i = 0; i < n; i++) {
        int temp;
        cin >> temp;
        if(i == 0) {
            ans += temp;
            a.push_back(temp);
            continue;
        }
        int l = func1(0, i - 1, temp);
        int r = func2(0, i - 1, temp);
        ans += min(abs(l - temp), abs(r - temp));
        if(temp <= a[0]) {
            a.insert(a.begin(), temp);
            continue;
        }else if(temp >= a[a.size() - 1]) {
            a.push_back(temp);
            continue;
        }
        for(int i = 1; i < a.size(); i++) {
            if(temp <= a[i] && temp >= a[i - 1]) {
                a.insert(i + a.begin(), temp);
                break;
            }
        }
    }
    cout << ans << endl;

    return 0;
}


// #include <iostream>
// #include <set>
// #include <cmath>
// using namespace std;

// int main() {
//     ios::sync_with_stdio(false);
//     cin.tie(nullptr);

//     int n;
//     cin >> n;
//     set<int> s;
//     long long ans = 0;
//     int x;

//     cin >> x;
//     ans += x;       // 第一天的波动值就是当天营业额
//     s.insert(x);

//     for (int i = 2; i <= n; i++) {
//         cin >> x;
//         auto it = s.lower_bound(x);
//         int diff = 1e9;

//         if (it != s.end()) {
//             diff = min(diff, abs(*it - x));  // 和不小于 x 的最接近值
//         }
//         if (it != s.begin()) {
//             --it;
//             diff = min(diff, abs(*it - x));  // 和小于 x 的最接近值
//         }

//         ans += diff;
//         s.insert(x);
//     }

//     cout << ans << "\n";
//     return 0;
// }



